On the Succinctness of Idioms for Concurrent Programming
نویسندگان
چکیده
The ability to create succinct programs is a central criterion for comparing programming and specification methods. Specifically, approaches to concurrent programming can often be thought of as idioms for the composition of automata, and as such they can then be compared using the standard and natural measure for the complexity of automata, descriptive succinctness. This measure captures the size of the automata that the evaluated approach needs for expressing the languages under discussion. The significance of this metric lies, among other things, in its impact on software reliability, maintainability, reusability and simplicity, and on software analysis and verification. Here, we focus on the succinctness afforded by three basic concurrent programming idioms: requesting events, blocking events and waiting for events. We show that a programming model containing all three idioms is exponentially more succinct than non-parallel automata, and that its succinctness is additive to that of classical nondeterministic and “and” automata. We also show that our model is strictly contained in the model of cooperating automata à la statecharts, but that it may provide similar exponential succinctness over non-parallel automata as the more general model – while affording increased encapsulation. We then investigate the contribution of each of the three idioms to the descriptive succinctness of the model as a whole, and show that they each have their unique succinctness advantages that are not subsumed by their counterparts. Our results contribute to a rigorous basis for assessing the complexity of specifying, developing and maintaining complex concurrent software. 1998 ACM Subject Classification D.1.3 Concurrent Programming
منابع مشابه
On the Succinctness of Idioms for Concurrent Programming: Supplementary Material
We wish to show that RWB p → C. Consider an RWB-automaton A with threads T1, . . . , Tn, each described by a tuple Ti = 〈Q,Σ, δ, q 0, R, B〉. This naturally gives rise to a C-automaton M , in the following manner. The alphabet Σ ofM is the set of all thread events, Σ = ∪Σ. M has n components M1, . . . ,M, each corresponding to a single thread. Component M i has the same states and initial state ...
متن کاملProgramming Idioms for Transactional Events
Abstract Transactional events (TE) are an extension of Concurrent ML (CML), a programming model for synchronous message-passing. Prior work has focused on TE’s formal semantics and its implementation. This paper considers programming idioms, particularly those that vary unexpectedly from the corresponding CML idioms. First, we solve a subtle problem with client-server protocols in TE. Second, w...
متن کاملBest Paper Award at ICST ’13 CHECK-THEN-ACT Misuse of Java Concurrent Collections
Concurrent collections provide thread-safe, highly-scalable operations, and are widely used in practice. However, programmers can misuse these concurrent collections when composing two operations where a check on the collection (such as non-emptiness) precedes an action (such as removing an entry). Unless the whole composition is atomic, the program contains an atomicity violation bug. In this ...
متن کاملConstraint Based Languages for Biological Reactions
In this paper,we study themodelization of biochemical reaction by using concurrent constraint programming idioms. In particular we will consider the stochastic concurrent constraint programming(sCCP), the Hybrid concurrent constraint programming languages (Hcc) and the Biochemical Abstract Machines (BIOCHAM).
متن کاملStrategies Employed in Translation of Idioms in English Subtitles of Two Persian Television Series
Translation of idioms seems to be complicated for most translators since the meaning of idioms is difficult and sometimes impossible to be deduced from the meaning of their individual components. Considering the difficulties of translation of idioms and also the specific constraints of subtitling such as space and time limits, this research studied the strategies employed in translation of idio...
متن کامل